package com.example.socialapp.ui.auth.register

import com.example.socialapp.ui.base.mvi.MviEffect

/**
 * Side effects for the registration screen
 */
sealed class RegisterEffect : MviEffect {
    /**
     * Navigate to main screen after successful registration
     */
    data object NavigateToMain : RegisterEffect()
    
    /**
     * Navigate to login screen
     */
    data object NavigateToLogin : RegisterEffect()
    
    /**
     * Navigate to terms and conditions screen
     */
    data object NavigateToTerms : RegisterEffect()
    
    /**
     * Show error message
     */
    data class ShowError(val message: String) : RegisterEffect()
    
    /**
     * Show success message
     */
    data class ShowSuccess(val message: String) : RegisterEffect()
    
    /**
     * Launch Google sign-in flow
     */
    data object LaunchGoogleSignIn : RegisterEffect()
    
    /**
     * Launch Facebook sign-in flow
     */
    data object LaunchFacebookSignIn : RegisterEffect()
    
    /**
     * Launch Apple sign-in flow
     */
    data object LaunchAppleSignIn : RegisterEffect()
} 